package com.wicket.okrapp.biz.service.dto.req;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc AddPlanFinanceMqQueueComReqDto
 * @使用场景
 */
@Data
public class AddPlanFinanceMqQueueComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * MQ队列名称 PLAN_TARGET_CALC_MQ_QUEUE:规划目标计算MQ排队 OKR_PLAN_TARGET_CALC_MQ_QUEUE:OKR目标计算MQ排队 KPI_PLAN_TARGET_CALC_MQ_QUEUE:绩效目标计算MQ排队 FINANCIAL_CALC_MQ_QUEUE:规划财务MQ排队
   */
  @NotNull(message = "MQ队列名称不能为空")
  @ApiModelProperty("MQ队列名称")
  private String mqQueueName;

  /**
   * MQ队列唯一主键ID
   */
  @NotNull(message = "MQ队列唯一主键ID不能为空")
  @ApiModelProperty("MQ队列唯一主键ID")
  private String mqPrimaryId;

  /**
   * 上一更新周期ID
   */
  @ApiModelProperty("上一更新周期ID")
  private String preUpdateCycleId;

  /**
   * 更新周期ID
   */
  @NotNull(message = "更新周期ID不能为空")
  @ApiModelProperty("更新周期ID")
  private String updateCycleId;

  /**
   * 更新周期开始时间
   */
  @NotNull(message = "更新周期开始时间不能为空")
  @ApiModelProperty("更新周期开始时间")
  private String updateCycleStartTime;

  /**
   * 更新周期结束时间
   */
  @NotNull(message = "更新周期结束时间不能为空")
  @ApiModelProperty("更新周期结束时间")
  private String updateCycleEndTime;

  /**
   * 更新周期类型标识
   */
  @NotNull(message = "更新周期类型标识不能为空")
  @ApiModelProperty("更新周期类型标识")
  private String updateCycleTypeCode;

  /**
   * 被评对象目标周期ID
   */
  @NotNull(message = "被评对象目标周期ID不能为空")
  @ApiModelProperty("被评对象目标周期ID")
  private String evaObjTargetCycleId;

  /**
   * 关联归属主体标识
   */
  @NotNull(message = "关联归属主体标识不能为空")
  @ApiModelProperty("关联归属主体标识")
  private String accountContentCode;

  /**
   * 是否开启资金到账 TRUE:是 FALSE:否
   */
  @NotNull(message = "是否开启资金到账不能为空")
  @ApiModelProperty("是否开启资金到账")
  private String isOpenFundsArrival;

  /**
   * 周期模式
   */
  @NotNull(message = "周期模式不能为空")
  @ApiModelProperty("周期模式")
  private String cycleMode;

  /**
   * 评价模板ID
   */
  @NotNull(message = "评价模板ID不能为空")
  @ApiModelProperty("评价模板ID")
  private String evaluationTemplateId;

  /**
   * 操作人就职记录ID
   */
  @NotNull(message = "操作人就职记录ID不能为空")
  @ApiModelProperty("操作人就职记录ID")
  private String operationInductionId;

  /**
   * 空间ID
   */
  @NotNull(message = "空间ID不能为空")
  @ApiModelProperty("空间ID")
  private String spaceId;

  /**
   * 事务内数据更新批次标识
   */
  @NotNull(message = "事务内数据更新批次标识不能为空")
  @ApiModelProperty("事务内数据更新批次标识")
  private String eventBatchUpdateCode;

  /**
   * 计算开始时间
   */
  @NotNull(message = "计算开始时间不能为空")
  @ApiModelProperty("计算开始时间")
  private String calcStartTime;

  /**
   * 冗余单位
   */
  @NotNull(message = "冗余单位不能为空")
  @ApiModelProperty("冗余单位")
  private String unit;

}
